﻿using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using YArchitech.LIB;
using YJKFamilyLibDataManager;

namespace ColumnModuleAndEdit.DataDefine
{
	public class ColumnInsetData
	{
		public List<string> GetLstStruOtherFiSymbol()
		{
			return this.m_lstStruOtherFiSymbol;
		}

		public List<string> GetLstStruCircleFiSymbol()
		{
			return this.m_lstStruCircleFiSymbol;
		}

		public List<string> GetLstStruRectFiSymbol()
		{
			return this.m_lstStruRectFiSymbol;
		}

		public List<string> GetLstArchOtherFiSymbol()
		{
			return this.m_lstArchOtherFiSymbol;
		}

		public List<string> GetLstArchCircleFiSymbol()
		{
			return this.m_lstArchCircleFiSymbol;
		}

		public List<string> GetLstArchRectFiSymbol()
		{
			return this.m_lstArchRectFiSymbol;
		}

		public void AddStruOtherFiSymbol(List<string> lstStr)
		{
			this.m_lstStruOtherFiSymbol.Clear();
			this.m_lstStruOtherFiSymbol.AddRange(lstStr);
		}

		public void AddStruCircleFiSymbol(List<string> lstStr)
		{
			this.m_lstStruCircleFiSymbol.Clear();
			this.m_lstStruCircleFiSymbol.AddRange(lstStr);
		}

		public void AddStruRectFiSymbol(List<string> lstStr)
		{
			this.m_lstStruRectFiSymbol.Clear();
			this.m_lstStruRectFiSymbol.AddRange(lstStr);
		}

		public void AddArchOtherFiSymbol(List<string> lstStr)
		{
			this.m_lstArchOtherFiSymbol.Clear();
			this.m_lstArchOtherFiSymbol.AddRange(lstStr);
		}

		public void AddArchCircleFiSymbol(List<string> lstStr)
		{
			this.m_lstArchCircleFiSymbol.Clear();
			this.m_lstArchCircleFiSymbol.AddRange(lstStr);
		}

		public void AddArchRectFiSymbol(List<string> lstStr)
		{
			this.m_lstArchRectFiSymbol.Clear();
			this.m_lstArchRectFiSymbol.AddRange(lstStr);
		}

		public List<string> GetLstCorner()
		{
			return this.m_lstCorner;
		}

		public List<string> GetLstBaseOffset()
		{
			return this.m_lstBaseOffset;
		}

		public List<string> GetLstCornerCur()
		{
			return this.m_lstCornerCur;
		}

		public List<string> GetLstBaseOffsetCur()
		{
			return this.m_lstBaseOffsetCur;
		}

		public List<string> GetLstHeight()
		{
			return this.m_lstHeight;
		}

		public List<string> GetLstHeightCur()
		{
			return this.m_lstHeightCur;
		}

		public List<string> GetLstDiameter()
		{
			return this.m_lstDiameter;
		}

		public List<string> GetLstYLength()
		{
			return this.m_lstYLength;
		}

		public List<string> GetLstXLength()
		{
			return this.m_lstXLength;
		}

		public List<string> GetLstMaterial()
		{
			return this.m_lstMaterial;
		}

		public List<string> GetLstShape()
		{
			return this.m_lstShape;
		}

		public List<string> GetLstMajor()
		{
			return this.m_lstMajor;
		}

		public List<string> GetLstRadius()
		{
			return this.m_lstRadius;
		}

		public Point PointLocation
		{
			get
			{
				return this.m_point;
			}
			set
			{
				this.m_point = value;
			}
		}

		public string Corner
		{
			get
			{
				return this.m_strCorner;
			}
			set
			{
				this.m_strCorner = value;
			}
		}

		public string BaseOffset
		{
			get
			{
				return this.m_strBaseOffset;
			}
			set
			{
				this.m_strBaseOffset = value;
			}
		}

		public string Height
		{
			get
			{
				return this.m_strHeight;
			}
			set
			{
				this.m_strHeight = value;
			}
		}

		public string CornerCur
		{
			get
			{
				return this.m_strCornerCur;
			}
			set
			{
				this.m_strCornerCur = value;
			}
		}

		public string BaseOffsetCur
		{
			get
			{
				return this.m_strBaseOffsetCur;
			}
			set
			{
				this.m_strBaseOffsetCur = value;
			}
		}

		public string HeightCur
		{
			get
			{
				return this.m_strHeightCur;
			}
			set
			{
				this.m_strHeightCur = value;
			}
		}

		public string Diameter
		{
			get
			{
				return this.m_strDiameter;
			}
			set
			{
				this.m_strDiameter = value;
			}
		}

		public string Radius
		{
			get
			{
				return this.m_strRadius;
			}
			set
			{
				this.m_strRadius = value;
			}
		}

		public string YLength
		{
			get
			{
				return this.m_strYLength;
			}
			set
			{
				this.m_strYLength = value;
			}
		}

		public string XLength
		{
			get
			{
				return this.m_strXLength;
			}
			set
			{
				this.m_strXLength = value;
			}
		}

		public string Material
		{
			get
			{
				return this.m_strMaterial;
			}
			set
			{
				this.m_strMaterial = value;
			}
		}

		public string Shape
		{
			get
			{
				return this.m_strShape;
			}
			set
			{
				this.m_strShape = value;
			}
		}

		public string Major
		{
			get
			{
				return this.m_strMajor;
			}
			set
			{
				this.m_strMajor = value;
			}
		}

		public ColumnInsetData()
		{
			this.ReadDataFromIni();
		}

		public void WriteDataToIni()
		{
			this.m_INIClass = new FamilyUtil.INIClass(this.m_slopeDimConfigFilePath);
			if (!this.m_INIClass.ExistINIFile())
			{
				File.Create(this.m_slopeDimConfigFilePath).Close();
			}
			this.WriteStringToIni("专业", this.m_lstMajor);
			this.WriteStringToIni("形状", this.m_lstShape);
			this.WriteStringToIni("材质", this.m_lstMaterial);
			this.WriteStringToIni("横向", this.m_lstXLength);
			this.WriteStringToIni("纵向", this.m_lstYLength);
			this.WriteStringToIni("半径", this.m_lstRadius);
			this.WriteStringToIni("直径", this.m_lstDiameter);
			this.WriteStringToIni("柱高", this.m_lstHeight);
			this.WriteStringToIni("柱底偏移", this.m_lstBaseOffset);
			this.WriteStringToIni("转角", this.m_lstCorner);
			this.WriteStringToIni("当前项目柱高", this.m_lstHeightCur);
			this.WriteStringToIni("当前项目柱底偏移", this.m_lstBaseOffsetCur);
			this.WriteStringToIni("当前项目转角", this.m_lstCornerCur);
			this.WriteTreeDataStringToIni("建筑矩形柱", this.m_lstArchRectFiSymbol);
			this.WriteTreeDataStringToIni("建筑圆柱", this.m_lstArchCircleFiSymbol);
			this.WriteTreeDataStringToIni("建筑其他", this.m_lstArchOtherFiSymbol);
			this.WriteTreeDataStringToIni("结构矩形柱", this.m_lstStruRectFiSymbol);
			this.WriteTreeDataStringToIni("结构圆柱", this.m_lstStruCircleFiSymbol);
			this.WriteTreeDataStringToIni("结构其他", this.m_lstStruOtherFiSymbol);
			this.m_INIClass.IniWriteValue(this.m_strSect, "默认专业", this.m_strMajor);
			this.m_INIClass.IniWriteValue(this.m_strSect, "默认形状", this.m_strShape);
			this.m_INIClass.IniWriteValue(this.m_strSect, "默认材质", this.m_strMaterial);
			this.m_INIClass.IniWriteValue(this.m_strSect, "默认横向", this.m_strXLength);
			this.m_INIClass.IniWriteValue(this.m_strSect, "默认纵向", this.m_strYLength);
			this.m_INIClass.IniWriteValue(this.m_strSect, "默认半径", this.m_strRadius);
			this.m_INIClass.IniWriteValue(this.m_strSect, "默认直径", this.m_strDiameter);
			this.m_INIClass.IniWriteValue(this.m_strSect, "默认柱高", this.m_strHeight);
			this.m_INIClass.IniWriteValue(this.m_strSect, "默认柱底偏移", this.m_strBaseOffset);
			this.m_INIClass.IniWriteValue(this.m_strSect, "默认转角", this.m_strCorner);
			this.m_INIClass.IniWriteValue(this.m_strSect, "默认当前项目柱高", this.m_strHeightCur);
			this.m_INIClass.IniWriteValue(this.m_strSect, "默认当前项目柱底偏移", this.m_strBaseOffsetCur);
			this.m_INIClass.IniWriteValue(this.m_strSect, "默认当前项目转角", this.m_strCornerCur);
			this.m_INIClass.IniWriteValue("对话框位置", "LocationX", this.m_point.X.ToString());
			this.m_INIClass.IniWriteValue("对话框位置", "LocationY", this.m_point.Y.ToString());
		}

		public void AddCorner(string strTmp)
		{
			int num = 0;
			if (!int.TryParse(strTmp, out num))
			{
				return;
			}
			strTmp = num.ToString();
			if (this.m_lstCorner.Contains(strTmp))
			{
				return;
			}
			this.m_lstCorner.Sort(new StringComparer());
			this.m_lstCorner.Reverse();
			this.m_lstCorner.Insert(0, strTmp);
			if (this.m_lstCorner.Count > this.m_iCornerMax)
			{
				this.m_lstCorner.RemoveAt(this.m_lstCorner.Count - 1);
			}
		}

		public void AddBaseOffset(string strTmp)
		{
			int num = 0;
			if (!int.TryParse(strTmp, out num))
			{
				return;
			}
			strTmp = num.ToString();
			if (this.m_lstBaseOffset.Contains(strTmp))
			{
				return;
			}
			this.m_lstBaseOffset.Sort(new StringComparer());
			this.m_lstBaseOffset.Reverse();
			this.m_lstBaseOffset.Insert(0, strTmp);
			if (this.m_lstBaseOffset.Count > this.m_iBaseOffsetMax)
			{
				this.m_lstBaseOffset.RemoveAt(this.m_lstBaseOffset.Count - 1);
			}
		}

		public void AddHeight(string strTmp)
		{
			int num = 0;
			if (!int.TryParse(strTmp, out num))
			{
				return;
			}
			strTmp = num.ToString();
			if (this.m_lstHeight.Contains(strTmp))
			{
				return;
			}
			this.m_lstHeight.Sort(new StringComparer());
			this.m_lstHeight.Insert(1, strTmp);
			if (this.m_lstHeight.Count > this.m_iHeightMax)
			{
				this.m_lstHeight.RemoveAt(this.m_lstHeight.Count - 1);
			}
		}

		public void AddCornerCur(string strTmp)
		{
			int num = 0;
			if (!int.TryParse(strTmp, out num))
			{
				return;
			}
			strTmp = num.ToString();
			if (this.m_lstCornerCur.Contains(strTmp))
			{
				return;
			}
			this.m_lstCornerCur.Sort(new StringComparer());
			this.m_lstCornerCur.Reverse();
			this.m_lstCornerCur.Insert(0, strTmp);
			if (this.m_lstCornerCur.Count > this.m_iCornerMax)
			{
				this.m_lstCornerCur.RemoveAt(this.m_lstCornerCur.Count - 1);
			}
		}

		public void AddBaseOffsetCur(string strTmp)
		{
			int num = 0;
			if (!int.TryParse(strTmp, out num))
			{
				return;
			}
			strTmp = num.ToString();
			if (this.m_lstBaseOffsetCur.Contains(strTmp))
			{
				return;
			}
			this.m_lstBaseOffsetCur.Sort(new StringComparer());
			this.m_lstBaseOffsetCur.Reverse();
			this.m_lstBaseOffsetCur.Insert(0, strTmp);
			if (this.m_lstBaseOffsetCur.Count > this.m_iBaseOffsetMax)
			{
				this.m_lstBaseOffsetCur.RemoveAt(this.m_lstBaseOffsetCur.Count - 1);
			}
		}

		public void AddHeightCur(string strTmp)
		{
			int num = 0;
			if (!int.TryParse(strTmp, out num))
			{
				return;
			}
			strTmp = num.ToString();
			if (this.m_lstHeightCur.Contains(strTmp))
			{
				return;
			}
			this.m_lstHeightCur.Sort(new StringComparer());
			this.m_lstHeightCur.Insert(1, strTmp);
			if (this.m_lstHeightCur.Count > this.m_iHeightMax)
			{
				this.m_lstHeightCur.RemoveAt(this.m_lstHeightCur.Count - 1);
			}
		}

		public void AddYLength(string strTmp)
		{
			int num = 0;
			if (!int.TryParse(strTmp, out num))
			{
				return;
			}
			strTmp = num.ToString();
			if (this.m_lstYLength.Contains(strTmp))
			{
				return;
			}
			this.m_lstYLength.Sort(new StringComparer());
			this.m_lstYLength.Insert(0, strTmp);
			if (this.m_lstYLength.Count > this.m_iYlengthMax)
			{
				this.m_lstYLength.RemoveAt(this.m_lstYLength.Count - 1);
			}
		}

		public void AddXLength(string strTmp)
		{
			int num = 0;
			if (!int.TryParse(strTmp, out num))
			{
				return;
			}
			strTmp = num.ToString();
			if (this.m_lstXLength.Contains(strTmp))
			{
				return;
			}
			this.m_lstXLength.Sort(new StringComparer());
			this.m_lstXLength.Insert(0, strTmp);
			if (this.m_lstXLength.Count > this.m_iXlengthMax)
			{
				this.m_lstXLength.RemoveAt(this.m_lstXLength.Count - 1);
			}
		}

		public void AddRadius(string strTmp)
		{
			int num = 0;
			if (!int.TryParse(strTmp, out num))
			{
				return;
			}
			strTmp = num.ToString();
			if (this.m_lstRadius.Contains(strTmp))
			{
				return;
			}
			this.m_lstRadius.Sort(new StringComparer());
			this.m_lstRadius.Insert(0, strTmp);
			if (this.m_lstRadius.Count > this.m_iXlengthMax)
			{
				this.m_lstRadius.RemoveAt(this.m_lstRadius.Count - 1);
			}
		}

		public void AddDiameter(string strTmp)
		{
			int num = 0;
			if (!int.TryParse(strTmp, out num))
			{
				return;
			}
			strTmp = num.ToString();
			if (this.m_lstDiameter.Contains(strTmp))
			{
				return;
			}
			this.m_lstDiameter.Sort(new StringComparer());
			this.m_lstDiameter.Insert(0, strTmp);
			if (this.m_lstDiameter.Count > this.m_iYlengthMax)
			{
				this.m_lstDiameter.RemoveAt(this.m_lstDiameter.Count - 1);
			}
		}

		private void DefaultDlgData()
		{
			string text = "建筑,结构";
			this.m_lstMajor.AddRange(text.Split(new char[]
			{
				','
			}));
			text = "矩形柱,圆柱";
			this.m_lstShape.AddRange(text.Split(new char[]
			{
				','
			}));
			text = "钢筋混凝土,混凝土,砖,石材,毛石,金属";
			this.m_lstMaterial.AddRange(text.Split(new char[]
			{
				','
			}));
			text = "300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000,1050,1100,1200";
			this.m_lstXLength.AddRange(text.Split(new char[]
			{
				','
			}));
			text = "300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000,1050,1100,1200";
			this.m_lstYLength.AddRange(text.Split(new char[]
			{
				','
			}));
			text = "300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000,1050,1100,1200";
			this.m_lstRadius.AddRange(text.Split(new char[]
			{
				','
			}));
			text = "300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000,1050,1100,1200";
			this.m_lstDiameter.AddRange(text.Split(new char[]
			{
				','
			}));
			text = "当前层高,2700,2800,2900,3000,3300,3600,3900,4200,5100,5400";
			this.m_lstHeight.AddRange(text.Split(new char[]
			{
				','
			}));
			text = "300,250,200,150,100,50,0,-50,-100,-150,-200,-250,-300";
			this.m_lstBaseOffset.AddRange(text.Split(new char[]
			{
				','
			}));
			text = "90,60,45,40,35,30,25,20,15,10,5,0,-5,-10,-15,-20,-25,-30,-35,-40,-45,-60,-90";
			this.m_lstCorner.AddRange(text.Split(new char[]
			{
				','
			}));
			text = "当前层高,2700,2800,2900,3000,3300,3600,3900,4200,5100,5400";
			this.m_lstHeightCur.AddRange(text.Split(new char[]
			{
				','
			}));
			text = "300,250,200,150,100,50,0,-50,-100,-150,-200,-250,-300";
			this.m_lstBaseOffsetCur.AddRange(text.Split(new char[]
			{
				','
			}));
			text = "90,60,45,40,35,30,25,20,15,10,5,0,-5,-10,-15,-20,-25,-30,-35,-40,-45,-60,-90";
			this.m_lstCornerCur.AddRange(text.Split(new char[]
			{
				','
			}));
			this.SortColumnInsetData();
			this.m_strMajor = "建筑";
			this.m_strShape = "矩形柱";
			this.m_strMaterial = "钢筋混凝土";
			this.m_strXLength = "800";
			this.m_strYLength = "800";
			this.m_strRadius = "300";
			this.m_strDiameter = "600";
			this.m_strHeight = "当前层高";
			this.m_strBaseOffset = "0";
			this.m_strCorner = "0";
			this.m_strHeightCur = "当前层高";
			this.m_strBaseOffsetCur = "0";
			this.m_strCornerCur = "0";
			this.m_iXlengthMax = 20;
			this.m_iYlengthMax = 20;
			this.m_iHeightMax = 15;
			this.m_iBaseOffsetMax = 15;
			this.m_iCornerMax = 25;
		}

		private void ReadDataFromIni()
		{
			this.m_INIClass = new FamilyUtil.INIClass(this.m_slopeDimConfigFilePath);
			if (!this.m_INIClass.ExistINIFile())
			{
				this.DefaultDlgData();
				return;
			}
			this.m_lstMajor.AddRange(this.ReadStringFromIni("专业", "建筑,结构"));
			this.m_lstShape.AddRange(this.ReadStringFromIni("形状", "矩形柱,圆柱"));
			this.m_lstMaterial.AddRange(this.ReadStringFromIni("材质", "钢筋混凝土,混凝土,砖,石材,毛石,金属"));
			this.m_lstXLength.AddRange(this.ReadStringFromIni("横向", "300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000,1050,1100,1200"));
			this.m_lstYLength.AddRange(this.ReadStringFromIni("纵向", "300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000,1050,1100,1200"));
			this.m_lstRadius.AddRange(this.ReadStringFromIni("半径", "300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000,1050,1100,1200"));
			this.m_lstDiameter.AddRange(this.ReadStringFromIni("直径", "300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000,1050,1100,1200"));
			this.m_lstHeight.AddRange(this.ReadStringFromIni("柱高", "当前层高,2700,2800,2900,3000,3300,3600,3900,4200,5100,5400"));
			this.m_lstBaseOffset.AddRange(this.ReadStringFromIni("柱底偏移", "300,250,200,150,100,50,0,-50,-100,-150,-200,-250,-300"));
			this.m_lstCorner.AddRange(this.ReadStringFromIni("转角", "90,60,45,40,35,30,25,20,15,10,5,0,-5,-10,-15,-20,-25,-30,-35,-40,-45,-60,-90"));
			this.m_lstHeightCur.AddRange(this.ReadStringFromIni("当前项目柱高", "当前层高,2700,2800,2900,3000,3300,3600,3900,4200,5100,5400"));
			this.m_lstBaseOffsetCur.AddRange(this.ReadStringFromIni("当前项目柱底偏移", "300,250,200,150,100,50,0,-50,-100,-150,-200,-250,-300"));
			this.m_lstCornerCur.AddRange(this.ReadStringFromIni("当前项目转角", "90,60,45,40,35,30,25,20,15,10,5,0,-5,-10,-15,-20,-25,-30,-35,-40,-45,-60,-90"));
			this.SortColumnInsetData();
			this.m_lstArchRectFiSymbol.AddRange(this.ReadTreeDataStringFromIni("建筑矩形柱", ""));
			this.m_lstArchCircleFiSymbol.AddRange(this.ReadTreeDataStringFromIni("建筑圆柱", ""));
			this.m_lstArchOtherFiSymbol.AddRange(this.ReadTreeDataStringFromIni("建筑其他", ""));
			this.m_lstStruRectFiSymbol.AddRange(this.ReadTreeDataStringFromIni("结构矩形柱", ""));
			this.m_lstStruCircleFiSymbol.AddRange(this.ReadTreeDataStringFromIni("结构圆柱", ""));
			this.m_lstStruOtherFiSymbol.AddRange(this.ReadTreeDataStringFromIni("结构其他", ""));
			this.m_strMajor = this.m_INIClass.IniReadValue(this.m_strSect, "默认专业");
			this.m_strShape = this.m_INIClass.IniReadValue(this.m_strSect, "默认形状");
			this.m_strMaterial = this.m_INIClass.IniReadValue(this.m_strSect, "默认材质");
			this.m_strXLength = this.m_INIClass.IniReadValue(this.m_strSect, "默认横向");
			this.m_strYLength = this.m_INIClass.IniReadValue(this.m_strSect, "默认纵向");
			this.m_strRadius = this.m_INIClass.IniReadValue(this.m_strSect, "默认半径");
			this.m_strDiameter = this.m_INIClass.IniReadValue(this.m_strSect, "默认直径");
			this.m_strHeight = this.m_INIClass.IniReadValue(this.m_strSect, "默认柱高");
			this.m_strBaseOffset = this.m_INIClass.IniReadValue(this.m_strSect, "默认柱底偏移");
			this.m_strCorner = this.m_INIClass.IniReadValue(this.m_strSect, "默认转角");
			this.m_strHeightCur = this.m_INIClass.IniReadValue(this.m_strSect, "默认当前项目柱高");
			this.m_strBaseOffsetCur = this.m_INIClass.IniReadValue(this.m_strSect, "默认当前项目柱底偏移");
			this.m_strCornerCur = this.m_INIClass.IniReadValue(this.m_strSect, "默认当前项目转角");
			this.m_iXlengthMax = this.ReadInt32FromIni(this.m_strSect, "横向下拉列表最多个数", 20);
			this.m_iYlengthMax = this.ReadInt32FromIni(this.m_strSect, "纵向下拉列表最多个数", 20);
			this.m_iHeightMax = this.ReadInt32FromIni(this.m_strSect, "柱高下拉列表最多个数", 15);
			this.m_iBaseOffsetMax = this.ReadInt32FromIni(this.m_strSect, "柱底偏移下拉列表最多个数", 15);
			this.m_iCornerMax = this.ReadInt32FromIni(this.m_strSect, "转角下拉列表最多个数", 25);
			this.m_point = default(Point);
			this.m_point.X = this.ReadInt32FromIni("对话框位置", "LocationX", 0);
			this.m_point.Y = this.ReadInt32FromIni("对话框位置", "LocationY", 0);
		}

		private void SortColumnInsetData()
		{
			this.m_lstXLength.Sort(new StringComparer());
			this.m_lstYLength.Sort(new StringComparer());
			this.m_lstRadius.Sort(new StringComparer());
			this.m_lstDiameter.Sort(new StringComparer());
			this.m_lstHeight.Sort(new StringComparer());
			this.m_lstBaseOffset.Sort(new StringComparer());
			this.m_lstCorner.Sort(new StringComparer());
			this.m_lstHeightCur.Sort(new StringComparer());
			this.m_lstBaseOffsetCur.Sort(new StringComparer());
			this.m_lstCornerCur.Sort(new StringComparer());
			this.m_lstBaseOffset.Reverse();
			this.m_lstCorner.Reverse();
			this.m_lstBaseOffsetCur.Reverse();
			this.m_lstCornerCur.Reverse();
		}

		private List<string> ReadStringFromIni(string strKey, string strDefault)
		{
			List<string> list = new List<string>();
			string text = this.m_INIClass.IniReadValue(this.m_strSect, strKey);
			if (text != null && !text.IsEmpty<char>())
			{
				list.AddRange(text.Split(new char[]
				{
					','
				}));
			}
			else if (strDefault != null && !strDefault.IsEmpty<char>())
			{
				list.AddRange(strDefault.Split(new char[]
				{
					','
				}));
			}
			return list;
		}

		private List<string> ReadTreeDataStringFromIni(string strKey, string strDefault)
		{
			List<string> list = new List<string>();
			string text = this.m_INIClass.IniReadValue("树控件类型数据", strKey);
			if (text != null && !text.IsEmpty<char>())
			{
				list.AddRange(text.Split(new char[]
				{
					','
				}));
			}
			else if (strDefault != null && !strDefault.IsEmpty<char>())
			{
				list.AddRange(strDefault.Split(new char[]
				{
					','
				}));
			}
			return list;
		}

		private int ReadInt32FromIni(string strSection, string strKey, int val)
		{
			string text = this.m_INIClass.IniReadValue(strSection, strKey);
			if (text != null && !text.IsEmpty<char>())
			{
				try
				{
					val = Convert.ToInt32(text);
				}
				catch
				{
				}
			}
			return val;
		}

		private void WriteStringToIni(string strKey, List<string> lstTmp)
		{
			if (lstTmp == null)
			{
				return;
			}
			string text = "";
			foreach (string text2 in lstTmp)
			{
				if (text == "")
				{
					text = text2;
				}
				else
				{
					text = text + "," + text2;
				}
			}
			this.m_INIClass.IniWriteValue(this.m_strSect, strKey, text);
		}

		private void WriteTreeDataStringToIni(string strKey, List<string> lstTmp)
		{
			if (lstTmp == null)
			{
				return;
			}
			string text = "";
			foreach (string text2 in lstTmp)
			{
				if (text == "")
				{
					text = text2;
				}
				else
				{
					text = text + "," + text2;
				}
			}
			this.m_INIClass.IniWriteValue("树控件类型数据", strKey, text);
		}

		private void WriteInt32ToIni(string strKey, string strTmp)
		{
			if (strTmp == null)
			{
				strTmp = "";
			}
			this.m_INIClass.IniWriteValue(this.m_strSect, strKey, strTmp);
		}

		private List<string> m_lstMajor = new List<string>();

		private List<string> m_lstShape = new List<string>();

		private List<string> m_lstMaterial = new List<string>();

		private List<string> m_lstXLength = new List<string>();

		private List<string> m_lstYLength = new List<string>();

		private List<string> m_lstRadius = new List<string>();

		private List<string> m_lstDiameter = new List<string>();

		private List<string> m_lstHeight = new List<string>();

		private List<string> m_lstBaseOffset = new List<string>();

		private List<string> m_lstCorner = new List<string>();

		private List<string> m_lstHeightCur = new List<string>();

		private List<string> m_lstBaseOffsetCur = new List<string>();

		private List<string> m_lstCornerCur = new List<string>();

		private List<string> m_lstArchRectFiSymbol = new List<string>();

		private List<string> m_lstArchCircleFiSymbol = new List<string>();

		private List<string> m_lstArchOtherFiSymbol = new List<string>();

		private List<string> m_lstStruRectFiSymbol = new List<string>();

		private List<string> m_lstStruCircleFiSymbol = new List<string>();

		private List<string> m_lstStruOtherFiSymbol = new List<string>();

		private string m_strMajor;

		private string m_strShape;

		private string m_strMaterial;

		private string m_strXLength;

		private string m_strYLength;

		private string m_strRadius;

		private string m_strDiameter;

		private string m_strHeight;

		private string m_strBaseOffset;

		private string m_strCorner;

		private string m_strHeightCur;

		private string m_strBaseOffsetCur;

		private string m_strCornerCur;

		private int m_iXlengthMax = 20;

		private int m_iYlengthMax = 20;

		private int m_iHeightMax = 15;

		private int m_iBaseOffsetMax = 15;

		private int m_iCornerMax = 25;

		private Point m_point;

		private Dictionary<string, Dictionary<string, List<string>>> m_DicDicLstDlgData = new Dictionary<string, Dictionary<string, List<string>>>();

		private string m_slopeDimConfigFilePath = Product.DataLocation + "\\ColumnInsertDlg.ini";

		private FamilyUtil.INIClass m_INIClass;

		private string m_strSect = "控件默认值";
	}
}
